Software applications and software components such as user interface controls (i.e., independent reusable user interface components) can act as clients of data sources, which may include local data sources or remote data sources that are reached over a computer network. Some data sources, such as local data sources, can respond synchronously to requests for data. In other words, such responses to data requests take less time than some response time threshold, which is typically low enough that a presentation of the response can appear to be in real time with the corresponding request. For example, such responses may take on the order of tens of milliseconds or less. Other data sources, such as remote data sources, may respond asynchronously. In other words, responses to data requests take more time than the response time threshold discussed above.